From 004d796c34e9d60411c33cea76d8539f7d481e38 Mon Sep 17 00:00:00 2001 From: "iap10@labyrinth.cl.cam.ac.uk" Date: Fri, 27 Aug 2004 02:47:12 +0000 Subject: [PATCH] bitkeeper revision 1.1159.53.4 (412ea0b0d3MOd1UTMgtz-Ab-RIhbkQ) linux 2.6.8.1 now correctly accounts system and idle time -- it was testing for ring 0 rather than ring 1. --- .rootkeys | 1 + .../arch/xen/i386/kernel/timers/timer_tsc.c | 2 + .../include/asm-xen/asm-i386/ptrace.h | 62 +++++++++++++++++++ 3 files changed, 65 insertions(+) create mode 100644 linux-2.6.8.1-xen-sparse/include/asm-xen/asm-i386/ptrace.h diff --git a/.rootkeys b/.rootkeys index 797ec86acd..bbf5c23855 100644 --- a/.rootkeys +++ b/.rootkeys @@ -230,6 +230,7 @@ 40f5623aEToIXouJgO-ao5d5pcEt1w linux-2.6.8.1-xen-sparse/include/asm-xen/asm-i386/pgtable-2level.h 40f5623aCCXRPlGpNthVXstGz9ZV3A linux-2.6.8.1-xen-sparse/include/asm-xen/asm-i386/pgtable.h 40f5623aPCkQQfPtJSooGdhcatrvnQ linux-2.6.8.1-xen-sparse/include/asm-xen/asm-i386/processor.h +412ea0afQL2CAI-f522TbLjLPMibPQ linux-2.6.8.1-xen-sparse/include/asm-xen/asm-i386/ptrace.h 40f5623bzLvxr7WoJIxVf2OH4rCBJg linux-2.6.8.1-xen-sparse/include/asm-xen/asm-i386/segment.h 40f5623bG_LzgG6-qwk292nTc5Wabw linux-2.6.8.1-xen-sparse/include/asm-xen/asm-i386/setup.h 40f5623bgzm_9vwxpzJswlAxg298Gg linux-2.6.8.1-xen-sparse/include/asm-xen/asm-i386/synch_bitops.h diff --git a/linux-2.6.8.1-xen-sparse/arch/xen/i386/kernel/timers/timer_tsc.c b/linux-2.6.8.1-xen-sparse/arch/xen/i386/kernel/timers/timer_tsc.c index a872b661a4..05e370f932 100644 --- a/linux-2.6.8.1-xen-sparse/arch/xen/i386/kernel/timers/timer_tsc.c +++ b/linux-2.6.8.1-xen-sparse/arch/xen/i386/kernel/timers/timer_tsc.c @@ -355,6 +355,8 @@ static int __init init_tsc(char* override) rdtscll(alarm); + use_tsc=1; + return 0; } diff --git a/linux-2.6.8.1-xen-sparse/include/asm-xen/asm-i386/ptrace.h b/linux-2.6.8.1-xen-sparse/include/asm-xen/asm-i386/ptrace.h new file mode 100644 index 0000000000..0165ccc542 --- /dev/null +++ b/linux-2.6.8.1-xen-sparse/include/asm-xen/asm-i386/ptrace.h @@ -0,0 +1,62 @@ +#ifndef _I386_PTRACE_H +#define _I386_PTRACE_H + +#define EBX 0 +#define ECX 1 +#define EDX 2 +#define ESI 3 +#define EDI 4 +#define EBP 5 +#define EAX 6 +#define DS 7 +#define ES 8 +#define FS 9 +#define GS 10 +#define ORIG_EAX 11 +#define EIP 12 +#define CS 13 +#define EFL 14 +#define UESP 15 +#define SS 16 +#define FRAME_SIZE 17 + +/* this struct defines the way the registers are stored on the + stack during a system call. */ + +struct pt_regs { + long ebx; + long ecx; + long edx; + long esi; + long edi; + long ebp; + long eax; + int xds; + int xes; + long orig_eax; + long eip; + int xcs; + long eflags; + long esp; + int xss; +}; + +/* Arbitrarily choose the same ptrace numbers as used by the Sparc code. */ +#define PTRACE_GETREGS 12 +#define PTRACE_SETREGS 13 +#define PTRACE_GETFPREGS 14 +#define PTRACE_SETFPREGS 15 +#define PTRACE_GETFPXREGS 18 +#define PTRACE_SETFPXREGS 19 + +#define PTRACE_OLDSETOPTIONS 21 + +#define PTRACE_GET_THREAD_AREA 25 +#define PTRACE_SET_THREAD_AREA 26 + +#ifdef __KERNEL__ +#define user_mode(regs) ((VM_MASK & (regs)->eflags) || (2 & (regs)->xcs)) +#define instruction_pointer(regs) ((regs)->eip) +#endif + +#endif -- 2.30.2